1. Field of the Invention
The invention relates to an information processing apparatus, a print processing method, and a computer program and, more particularly, the invention is suitable when it is used to execute a process for binding printed sheets by a stapler, or the like.
2. Related Background Art
A laser beam printer and a network digital hybrid apparatus each having a mechanism for automatically binding print-out (printed) print sheets by a stapler on a device as they are (hereinbelow, such a function is called “staple-binding”) have been widespread mainly in offices. In such a printer, a printer driver is used when the user designates whether or not the staple-binding printing is executed.
FIG. 9 shows an example of a flow of processes in a host computer and a printer in the case of executing the staple-binding printing through the printer driver.
First, a print dialog of an application is opened from an application program on the host computer and displayed. Further, a user interface of the printer driver (printer driver UI) is opened and the user is made to input print setting regarding the staple-binding into the printer driver UI. A page description language and a job description language are formed by the printer driver on the basis of the print setting and a draw command. The staple-binding printing is executed on the basis of the page description language and the job description language.
However, the staple-binding designated by the user is not always executed after the printed sheets were outputted by the printer. This is because, in each printer, the number of pages of the sheets which can be staple-bound has an upper limit as a specification of the device and the upper limit number changes in dependence on a size, type, or the like of the sheet.
Therefore, if the number of pages of print data sent from the host computer by a print instruction of the user is larger than the number of pages which can be staple-bound in the printer, in many cases, an original is printed out as it is without executing the staple-binding. Thus, only the original is delivered to an output tray.
As a measure for solving such a problem, as shown in JP-A-2000-187580, there is such a technique that in the printer driver, the draw command inputted from the application is converted into intermediate data and spooled, the number of print sheets is counted, whether or not the counted number of print sheets exceeds the upper limit of the number of pages of the sheets which can be staple-bound by the printer is discriminated, and if it is decided that the count value exceeds it, the intermediate data is divided into a plurality of print jobs in accordance with a unit of the number of print sheets to be staple-bound, and the printed sheets are staple-bound every print job.
However, according to the technique disclosed in JP-A-2000-187580, there is such a problem that even if the user wants to staple-bind the document to be printed in a lump, since the unit for staple-binding is changed, printed matter which is desired by the user cannot be obtained.
Therefore, in the printer driver disclosed in JP-A-2000-187580, there is a method whereby when whether or not the counted number of print sheets exceeds the upper limit of the number of pages of the sheets which can be staple-bound by the printer is discriminated, a warning dialog is displayed, thereby informing him of it. However, according to such a mechanism, only after the print instruction was made once by the application and the draw command was outputted to the printer driver, the user can recognize whether or not the staple-binding can be performed, so that ease of use deteriorates.
The application can obtain print ability of a certain degree from the printer driver through “Windows” (registered trademark) OS (Operating System: hereinafter, abbreviated to OS) of Microsoft Corporation in U.S.A. However, since the print ability differs every printer manufacture or every printer kind, the print ability which can be obtained by the application from the printer driver is limited only to the very standard ability defined by the OS and only the very simple setting of the print dialog which is opened from the application can be made.
However, in future, it is predicted that by further extending the OS, the detailed print ability of each printer driver which could not be obtained hitherto can be obtained through the OS. FIG. 10 shows an example of a flow for processes in the host computer and the printer in the case of staple-binding the printed sheets through the printer driver in a future print system.
First, the application on the host computer inquires of the printer driver through the OS (not shown) about the presence or absence of a print setting item for performing the staple-binding through an API (Application Programming Interface) or the like. If the print setting item for performing the staple-binding exists, an input item to designate the staple-binding is displayed onto a print dialog of the application, thereby allowing the user to input the staple-binding setting. The page description language and the job description language are formed by the printer driver on the basis of the print setting and the draw command. The staple-binding printing is executed on the basis of the page description language and the job description language.
However, as mentioned above, in each printer, since the number of pages of the sheets which can be staple-bound has the upper limit as a specification of the device, the staple-binding designated by the user is not always executed after the printed sheets were outputted by the printer.
When considering a print workflow of the user, it is important to previously notify the user whether or not a print job to be issued is a job which can perform the staple-binding. However, according to the conventional technique, means for notifying the user of such information before the print instruction (draw command) is outputted from the application does not exist in the application. There is, consequently, such a problem that whether or not the staple-binding is executed cannot be recognized until the print data is outputted to the printer or until a forming process of the print data by the printer driver is executed.